#include <Kharlia/Engine/Common.h>
#include <Kharlia/Engine/Player.h>

namespace kharlia { namespace engine {

CPlayer::CPlayer(PyObject* self, bool isLocal):
    CObject(self),
    mIsLocal(isLocal),
    mController(),
    mRMConnection(),
    mGUID(),
    mAddress()
    {}

CPlayer::~CPlayer() {}

KH_BEGIN_GC(CPlayer)
    KH_GC_SHARED_PTR(thisx->mController)
KH_END_GC()

void _InitPlayerClasses() {
    using namespace py;

    class_<CPlayer, shared_ptr<CPlayer>, bases<core::CObject>, boost::noncopyable>
        ("CPlayerBase", init<>())
        .def(init<bool>())
        .def_readonly("IsLocal", &CPlayer::mIsLocal)
        .def_readwrite("Controller", &CPlayer::mController)
        ;

    KH_IMPL_GC(CPlayer);
}

}}